/*
 * DocReader.h
 *
 *  Created on: 2010-12-2
 *      Author: Administrator
 */

#ifndef DOCREADER_H_
#define DOCREADER_H_
#include <string>
#include <vector>

#include <ZLEncodingConverter.h>
#include "../EncodedTextReader.h"

class ZLInputStream;

class DocReader : public EncodedTextReader {
public:
	virtual void readDocument(ZLInputStream &stream);

protected:
	DocReader(const std::string &encoding);
	virtual ~DocReader();

protected:
	virtual void startDocumentHandler() = 0;
	virtual void endDocumentHandler() = 0;

	virtual bool characterDataHandler(std::string &str) = 0;
	virtual bool newLineHandler() = 0;
};

#endif /* DOCREADER_H_ */
